package me.shingohu.man.di.component;

import android.app.Application;
import android.content.Context;
import android.content.res.Resources;

import com.google.gson.Gson;

import org.greenrobot.eventbus.EventBus;

import javax.inject.Singleton;

import dagger.Component;
import me.shingohu.man.di.module.AppModule;
import me.shingohu.man.di.module.ClientModule;
import me.shingohu.man.di.module.EventBusModule;
import me.shingohu.man.di.module.GlobeConfigModule;
import me.shingohu.man.di.module.ImageModule;
import me.shingohu.man.intergation.IRepositoryManager;
import me.shingohu.man.intergation.imageloader.ImageLoader;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;

/**
 * Created by hujie on 17/4/14.
 */

@Singleton
@Component(modules = {AppModule.class, ClientModule.class, GlobeConfigModule.class, ImageModule.class, EventBusModule.class})
public interface AppComponent {

    Application getApplication();

    Resources getResources();

    Context getContext();

    IRepositoryManager repositoryManager();

    OkHttpClient okHttpClient();

    Retrofit getRetrofit();

    //图片管理器,用于加载图片的管理类,默认使用glide,使用策略模式,可替换框架
    ImageLoader imageLoader();

    //gson
    Gson gson();

    EventBus eventBus();



}
